#ifndef STATIC_DEFORMATION_STATE_H
#define STATIC_DEFORMATION_STATE_H


#include "DeformationState.h"
#include "PArray.h"
#include "FEMModel.h"
#include "Types.h"
#include "IterationState.h"

class StaticDeformationState : public DeformationState 
{
	IterationState * iter_state_;
	//  Nonlinear_cg_state * cg_state_;
public:
	StaticDeformationState (FiniteElementModel*);

	bool GoodSolution () const;
	virtual void CheckComponents (ComponentMap const *);
	virtual void DoSimulationBody ();
	virtual void InitSimulation ();

protected:
	virtual void UpdateVectorSizes ();
	virtual void UpdateForces ();
	LinkArray< Array<Real> > VectorVariables ();
};

#endif /* STATIC_DEFORMATION_STATE_H */